1. Field of the Invention
This invention relates to the field of electronic messaging systems. In particular, the invention relates to a method and apparatus for presenting a unified view of multiple mailboxes on multiple clients.
2. Description of the Related Art
Electronic message systems, or e-mail systems, enable widespread communications. A typical person may have several mailboxes she/he accesses with different clients, e.g. office computer and handheld computer. For example, Jane Doe might have a corporate mailbox xe2x80x9cjdoe@corporate.comxe2x80x9d as well as a mailbox with a wireless provider such as xe2x80x9cjdoe@wireless.comxe2x80x9d. If Jane wishes to be able to receive and work on her messages both while at the office and while on the road she may want a way to create a unified view of the two separate mailboxes on her office client and her handheld client.
Maintaining a unified view of messages sent to a single mailbox can be tricky if the user accesses a single mailbox from multiple locations. Two separate Internet protocols provide varying degrees of support for addressing this problem: the Post Office Protocol version 3 (POP3), defined by RFC 1939, and the Internet Message Access Protocol version 4 (IMAP4), defined by RFC 1730.
With varying degrees of functionality, these protocols rely on mail agents such as Netscape(trademark) Communicator(trademark), Eudora(trademark) or Microsoft(trademark) Outlook Express(trademark) to maintain a partially unified view of a single mailbox accessed from multiple locations. For example, using IMAP4, Jane Doe can see her xe2x80x9cjdoe@corporate.comxe2x80x9d mailbox from her work using Netscape Communicator(trademark) and she can see that same mailbox from home using Microsoft Outlook Express(trademark). However, neither POP3 nor IMAP4 attempt to provide a unified view of a message received at multiple mailboxes and stored on multiple clients.
Similarly, some handheld computers such as the Palm Connected Organizer(trademark) from 3Com Corporation, Santa Clara, Calif., enable a single mailbox to be viewed on multiple clients through a HotSync(trademark) process. Like POP3 and IMAP4, this process only addresses the viewing of a single mailbox from multiple clients.
One approach some users take to handling multiple mailboxes is to forward all messages received at one mailbox to the other mailboxes. For example, if John Smith sent Jane Doe a message to her corporate mailbox, xe2x80x9cjdoe@corporate.comxe2x80x9d, Jane can set up her corporate mailbox so that all messages are forwarded to her other mailboxes, including her wireless mailbox, xe2x80x9cjdoe@wireless.comxe2x80x9d.
However, if Jane responds to the message from her handheld client while viewing the wireless mailbox, there is no mechanism for reflecting that action in her other mailboxes, including her corporate mailbox. Thus, when she next checks her other mailboxes, including her corporate mailbox, she will have to manually perform the actions she performed on the message in the wireless mailbox.
For example, if she replied to the message on her handheld client and filed it in a folder xe2x80x9cPersonalxe2x80x9d, she would have to manually mark the message as replied to and manually file the message in xe2x80x9cPersonalxe2x80x9d when she next accesses her corporate mailbox. This manual system becomes increasingly unwieldy as a person receives more messages per day.
Also, wireless connectivity is costly. The price per transmission unit is typically high. Also, other cost factors such as battery drain from transmission and receiving exist. Therefore, it may not be desirable to fully reflect a standard mailbox to a wireless mailbox using the above forwarding technique. Also, this forwarding technique can create loops that cause messages to be sent in infinite loops. Therefore, it is typically necessary to forward messages to a particular mailbox only, e.g. corporate to handheld, but not handheld to corporate.
Accordingly, what is needed is a system supporting a unified view of messages from multiple mailboxes that allows actions performed on one client to be reflected in the unified view on other clients. Also, the system should work with handheld wireless computers without incurring high costs.
A method of presenting a unified view of two mailboxes, each mailbox associated with a client is described. The unified view allows the user to see all actions she/he performed on one client reflected in all other unified clients. For example, if a user receives a message from xe2x80x9ctbrown@example.comxe2x80x9d at her xe2x80x9cjdoe@corporate.comxe2x80x9d mailbox, that message will also appear in her other mailboxes being unified, e.g. her xe2x80x9cjdoe@wireless.comxe2x80x9d mailbox.
One of the clients, e.g. the handheld client, has both a high cost, e.g. wireless, communication channel and a low cost, e.g. synchronization, communication channel. The high cost communication channel may have a price associated with transmitting information and their may be non-price cost factors such as battery consumption, bandwidth, and/or other factors that make the use of the high cost communication channel expensive. In contrast the low cost communication channel is typically free, e.g. docking cradle to desktop computer, and uses less power, etc. Thus, the two communication channels are used in conjunction to offer a unified view.
When a message is received by a client from its respective mailbox without an identifier, an identifier is generated and a copy of the message is sent to the other mailboxes with the identifier. For example, when the client receives the message addressed to the xe2x80x9cjdoe@corporate.comxe2x80x9d mailbox from xe2x80x9ctbrown@example.comxe2x80x9d, there is no identifier associated with the message. An identifier is generated and a copy of the message is sent to the other mailboxes that includes the identifier. This allows actions performed on the message at a later point on any of the clients to be reflected in the other clients. Messages received with an identifier can be displayed without modification as these messages have already been handled by one of the other clients.
When the user performs actions on a message with a client, the identifier for the message and the action can be conveyed to the other clients in a message to the other mailboxes. For example, when Jane deletes the message with the identifier xe2x80x9cjdoe@wireless.com:93xe2x80x9d from her wireless client, a message can be sent to the other clients that indicates the identifier and the action, here xe2x80x9cdeletedxe2x80x9d.
The unified view can be selectably updated either over the high cost communication channel or the low cost communication channel. Also, multiple actions can be batched into a single message to the other mailboxes.
The user can select options to control the unification process and the use of the high cost communication channel, e.g. summarize messages over 250 words and/or remove attachments. Other embodiments allow the use of the high cost communication channel to be further controlled by using rules to control what flows over that channel and what is held for when the low cost communication channel is available. For example, messages with a priority of urgent might be sent over the high cost communication channel, but other messages might be held until the lost cost communication channel is available. Thus the use of two communication channels enables the cost of performing the unification to be contained even when there are a large number of messages and or mailboxes to be unified.